home *** CD-ROM | disk | FTP | other *** search
- /*
- * vasprintf.c
- */
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdarg.h>
-
- int vasprintf(char **bufp, const char *format, va_list ap)
- {
- va_list ap1;
- int bytes;
- char *p;
-
- va_copy(ap1, ap);
-
- bytes = vsnprintf(NULL, 0, format, ap1) + 1;
- va_end(ap1);
-
- *bufp = p = malloc(bytes);
- if ( !p )
- return -1;
-
- return vsnprintf(p, bytes, format, ap);
- }
-